﻿import QtQuick 2.0

Rectangle {


    Component.onCompleted: {

        //创建一个数组
        console.log("创建一个数组");
        var a = new Array();
        console.log("指定数组对象的初始长度");
        var b = new Array(10);
        console.log("指定参数")
        var c = new Array(10, 6, 3, 21,22, 8, "zhangsan");

        //访问数组
        console.log("访问数组:");
        console.log("array length:", c.length);
        console.log("c[1]:", c[1]);

        //修改数组
        // push() 末尾插入一个或者多个 返回数组新的长度
        // pop() 删除并返回数组的最后一个元素
        //长度为3的数组 可以添加a[3] = 5
        //shift() 返回数组的第一个元素
        //unshift() 向数组的开始添加一个元素并返回新的数组长度
        //reverse() 颠倒数组中元素的顺序 (它会改变原来的数组）
        //sort() 对数组内元素排序并返回对原数组的应用（他会改变原来的数组）
        // sort()中可选参数 sortby 指定一个比较大小的函数，不指定就将每个元素转换为字符串，然后根据字符串比较的结果升序排列
        console.log("排序");
        console.log("array length: ", c.length);
        console.log("c[1]: ", c[1]);
        console.log("c[7]", c[7]);
        c[6] = "修改6";
        c[7] = "修改7";

        console.log("a.push(250):", c.push(250));

        console.log("a.unshift(1):", c.unshift(1));

        console.log("a.join(\" \")", c.join(" "));

        console.log("a.shift():", c.shift());

        console.log("a.reverse()", c.reverse());

        console.log("a.pop():", c.pop());

        console.log("a.sort():", c.sort());

        console.log("a.pop():", c.pop());

        console.log("a.pop():", c.pop());

        console.log("a.sort():", a.sort());

        //转换为字符串
        //join()方法剋把数组中的所有元素组合成一个字符串，字符串之间可以用给定的分隔符来填充
        // toString() 方法可以把数组转换为字符串，与不带参数的join方法结果一样
        //toLocaleString() 方法可以把数组转换为本地字符串
        //数组的分割与合并
        //concat() 方法可以连接两个或者多个数组，它的参数可以是一个单一的值，也可以是一个数组对象，它不会改变现有的数组，而是返回一个新的数组对象
        // slice(start, end)与String类的slice()方法用法相近，它将母数组中start到end（不含end位置的元素）之间的元素放到一个新的数组中返回
        //splice(index, howmany, iteml,...,itemN)删除从index到huowmany个元素，将iteml到itemN插入到数组中，如果删除了元素，splice()会返回被删除元素
        //组成的数组（它将改变原来数组)

        console.log("转换为字符串");

        var array_string = new Array("i", "like", "Qt", "Quick");

        var subArray = array_string.slice(2, 4);
        console.log(subArray.join(" "));
        var newArray = array_string.concat("!", subArray);
        console.log(newArray.join(" "));

        newArray[0] = "Do you";
        newArray.splice(4,3,"?", "yes", "!");
        console.log(newArray.join(" "));

        //数组的字面向量表示法
        console.log("数组的字面向量表示法");
        var a = [2, 3, 4, "?", "Quick"]
        console.log(a.length, a[2]);
    }



}
